/*
 * Perdon de antecodo por el siguiente código, si de cualquier forma 
 * encuentras algo que te sea util sientete libre de usarlo :D
 * 
 * En mi defensa diré que esto empezó como un ejercicio de clase que
 * se me acabó llendo demasiado de las manos :P
 */


window.onload = function() {
	var posicionSolHorizontal = $("#sun").offset().left - 40;

	$("#carga").slideUp("slow", function() {
		$(this).remove()
	});

	$("#superior").mousemove(function(event) {
		$("#sun").css("marginLeft", +(posicionSolHorizontal + (event.pageX / 16)), 3000);
	});

	window.addEventListener("keydown", function(e) {
		// space and arrow keys
		if ([32, 37, 38, 39, 40].indexOf(e.keyCode) > -1) {
			e.preventDefault();
		}
	}, false);

	$(document).keydown(function(e) {
		if (e.keyCode == 39) {
			pasaDos();
			return false;
		} else if (e.keyCode == 37) {
			pasaUno();
			return false;
		}
	});

	$(".nombre").animate({
		marginLeft : "5%",
	}, 2500);

	$(".subnombre").animate({
		marginLeft : "21%",
	}, 2500);

	$("#monkey").animate({
		marginLeft : "5%",
	}, 3000);

	$("#tree").animate({
		marginLeft : "50%",
	}, 3000);

	//Plugin para la barra de scroll
	$("#footers").mCustomScrollbar();

	$("#circle3").click(function() {
		$("#paginaDos").animate({
			top : "0"
		}, 800);
	});

	$("#goBack").click(function() {
		$("#circle3").css("border", "white 1px solid");
		$("#paginaDos").animate({
			top : "100%"
		}, 800);
	});

	eventosBotonera();

	muevePajaro();

}

function muevePajaro() {

	function beeLeft() {
		$("#b").animate({
			left : "-500"
		}, 10000, "swing", beeRight);
	}

	function beeRight() {
		$("#b").animate({
			left : "+2000"
		}, 0, "swing", beeLeft);
	}

	beeRight();
}

function pasaUno() {
	$("#circle1").css("border", "white 1px solid");
	$("#circle2").css("border", "#000000 1px solid");

	$("#footer_left , #footer_right").delay(500).fadeOut("slow", function() {
		$("#footer_left").html("Java (Latine fortasse Iava) est lingua programmandi quam Iacobus Gosling pro societate Sun Microsystems (nunc a societate Oracle dominata) excogitavit eo consilio, ne necesse sit programmata iterum iterumque scribere ut in aliis systematibus effici possint. Java adhibetum est in multissimis machinis, ut 3 milliarda telephonis gestabilibus, et 1.1 milliarda computatris.");
		$("#footer_right").html("Iacobus Gosling et Patricius Naughton hoc opus mense Iunio 1991 ceperunt, promittentes quod nova lingua utentes programmatores possunt programa semel scriptum ubique efficere (Anglice write once, run anywhere).")
	}).delay(4500).fadeIn("slow");

	$("#monkey").animate({
		marginLeft : "-500px",
	}, 3000, function() {
		$("#monkey").attr("src", "img/savanna/monkey.png").show();
		$("body").removeClass("antartica", 3000);
	});

	$("#monkey").animate({
		marginLeft : "5%",
	}, 2500);

	$("#gray_mountain").delay(600).animate({
		marginTop : +690,
	}, 2500, function() {
		$(this).css("marginTop", "");
		$(this).removeClass("montanaArriba");
	});

	$("#pink_mountain").delay(1200).animate({
		marginTop : +690,
	}, 2500, function() {
		$(this).css("marginTop", "");
		$(this).removeClass("montanaArriba");
	});

	$("#sky_mountain").delay(1800).animate({
		marginTop : +690,
	}, 2500, function() {
		$(this).css("marginTop", "");
		$(this).removeClass("montanaArriba");
	});

	$("#tree").delay(600).show().animate({
		marginLeft : "50%",
	}, 3000);

	$("#grass").show().delay(1300).animate({
		marginTop : "",
	}, 3000);

	$("#bird").show();
	$("#cloud").hide();

	$("#circle1").unbind("click");
	$("#circle2").click(function() {
		pasaDos();
	});

	$("#sun").removeClass("sun2", 2000);
}

function pasaDos() {
	$("#circle1").css("border", "#000000 1px solid");
	$("#circle2").css("border", "white 1px solid");

	$("#superior").mousemove(function(event) {
		$("#sun").css("marginLeft", +(posicionSolVertical + (event.pageX / 16)), 3000);
	});

	//Quita todo lo que hay
	$("#footer_left , #footer_right").delay(500).fadeOut("slow", function() {
		$("#footer_left").html("").text("Lingua programmandi vel lingua programmationis est lingua ficticia vel formalis, vel et serie mandatorum ad machinam quae a programmatoribus ad computatra programmanda adhibetur. Machinae proxima inter programmandi linguas est lingua machinalis, quae sola directe per processorium medium computatrum gubernare potest.io de tiu normo projektas anstatauigigin. La diversaj TTT-legiloj sufice bone konformigas al tiu normo, sed ili kauzas programajn komplikojn pro malsimilaj adaptoj de la dokumentobjekta modelo (normo dom), tra kiu JavaScript manipulas la fenestrajn objektojn.");
		$("#footer_right").html("").append("Quam ob rem omnes programmandi linguae ad linguam machinalem converti possunt. Ad linguas convertendas sunt programmata specialia, quae compilatra appellantur. Machinae proxima inter programmandi linguas est lingua machinalis, quae sola directe per processorium medium computatrum gubernare potest,")
	}).delay(4500).fadeIn("slow");

	$("#monkey").animate({
		marginLeft : "-500px",
	}, 3000, function() {
		$("#monkey").attr("src", "img/antartic/penguin.png").show();
		$("body").addClass("antartica", 'important');
	});

	$("#tree").animate({
		marginLeft : "+150%",
	}, 3000, function() {
		$("#tree").hide();
	});

	$("#grass").delay(1300).animate({
		marginTop : "+100%",
	}, 3000, function() {
		$("#grass").hide();
	});

	$("#bird").hide();
	$("#cloud").show();

	$("#monkey").animate({
		marginLeft : "300px",
	}, 2500);

	/*$("#sky_mountain").animate({
	 marginTop : -690,
	 }, 2500);*/

	$("#sky_mountain").addClass('montanaArriba', 3500);

	$("#pink_mountain").delay(600).addClass('montanaArriba', 3500);

	$("#gray_mountain").delay(1200).addClass('montanaArriba', 3500);

	$("#sun").addClass("sun2", 2000);

	$("#circle2").unbind("click");
	$("#circle1").click(function() {
		pasaUno();
	});
}

function eventosBotonera() {

	$("#circle2, #circle1").hover(function() {
		$(this).animate({
			backgroundColor : '#BDBDBD'
		})
	}, function() {
		$(this).animate({
			backgroundColor : '#4679BD'
		})
	});

	$("#circle3").hover(function() {
		$(this).addClass("flecha2", 500);
	}, function() {
		$(this).removeClass("flecha2", 500);
	});

	$("#circle1").css("border", "white 1px solid");

	$("#circle2").bind("click", function() {
		pasaDos();
	});

}

